#ifndef OBJECT_H
#define OBJECT_H


#include <Ogre.h>

#include "component/ComponentManager.h"

enum OBJ_TYPE
{
    OBJ_TYP_OBJECT = 0<<0,
    OBJ_TYP_MOVABLE = 0<<1,
    OBJ_TYP_BUILDING = 0<<2,
    OBJ_TYP_CHARACTER = 0<<3,
    OBJ_TYP_ITEM = 0<<4,
    OBJ_TYP_CREATURE = 0<<5,
};



class Object : public ComponentManager
{
public:



    Object();


    virtual ~Object();


    virtual void init();
    virtual void update(double timeSinceLastFrame);
    void clear();

    OBJ_TYPE getType();

      Ogre::Vector3 getPosition();
      void setPosition(  Ogre::Vector3 _position);

      void setName(std::string _name){m_name=_name;};
 std::string getName(){return m_name;};


protected:


    OBJ_TYPE m_type;

    static unsigned int m_id;

    std::string m_name;







private:



};

#endif // OBJECT_H
